Network devices are designed to interoperate with each other in networks to carry services. Networks are becoming increasingly more complex, both in terms of the diversity of hardware components as well as in the functionality of the operating systems. The increased complexity and sophisticated network management systems must be learned by human operators. From the view of a network operator, the operational expenditure to successfully run a network is increasing.
One source of increased complexity is configuration of the network and devices. When building networking infrastructure, each node is configured to communicate with other nodes and operate in specific ways. To configure each node, the configuration parameters specific to that node are pushed to the node by a centralized server. The node may alternatively pull or request configuration from the centralized server, such as is performed in the Diagnostic Host Configuration Protocol. The configuration of each device is handled individually, so this configuration information is distributed accordingly.
Other types of information may be shared by multiple devices This common or shared information may be communicated to multiple nodes in a network using flooding or broadcast mechanisms. The information is transmitted along a tree or network structure. Flooding has the drawback of being fairly wasteful, since the same information may be received at a node from multiple upstream (in terms of the dissemination direction) neighbors. For large files, flooding may be particularly wasteful. Gossip protocols, on the other hand, typically involve somewhat greater delays as information is transmitted based on some criteria. Gossip protocols may also lead to waste due to redundant transmission of the same information from multiple nodes to the same node.